home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 144 (1990-08-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 144 (1990-08-15)(Ossowski, Stefan)(DE)(PD).adf / MemGuard / MemGuard.doc < prev    next >
Text File  |  1990-07-07  |  4KB  |  104 lines

  1. =========================== MemGuard III.a ===========================
  2. ======================================================================
  3.  
  4. Was  written  by Ralf Thanner in 100% assembly language!  This release
  5. fixes  some  disadvantages  encountered  with the original MemWatch II
  6. program written by John Toebes.
  7.  
  8. ============================== Purpose ===============================
  9. ======================================================================
  10.  
  11. MemGuard  III  checks  the first 100 longwords, in particular location
  12. $00000004, for random trashing.  Discovering any change an Alert comes
  13. up  giving  you  the  choice  to  leave  the vectors as they are or to
  14. restore  their  original  contents.   Unlike  other tools of this kind
  15. MemGuard  III  does  not  run  as task, but rather links itself to the
  16. level  3 IRQ, checking the vectors each frame.  Therefore virtually no
  17. processing  time  is  wasted,  no  extra  memory  is used (very little
  18. actually, but below 1000 bytes - the original MemWatch II needed about
  19. 4000  bytes  while  running)  and  the checking takes place even while
  20. task-switching  is forbidden.  Furthermore most actions overriding the
  21. vector table are discovered almost instantly.
  22.  
  23. =============================== Usage ================================
  24. ======================================================================
  25.  
  26. MemGuard III can be started both from Workbench and CLI. The following
  27. options are recognized:
  28.  
  29.     "A" -> Activate MemGuard III
  30.     "Q" -> Terminate MemGuard III
  31.     "?" -> Displays a short list of instructions
  32.  
  33. Note  that  these  options are available from Workbench, too.  A small
  34. menu will pop up and ask you for a selection.
  35.  
  36. ============================ How it works ============================
  37. ======================================================================
  38.  
  39. MemGuard  III allocates a chunk of memory, copies the checking routine
  40. into  it, links it to the Vertical Blank interrupt and exits.  As soon
  41. as  an  application  trashes  a  low-memory  vector  an  alert  of the
  42. following form comes up:
  43.  
  44. #====================================================================#
  45. #                                                                    #
  46. #               MEMGUARD III (C) 1990 by Ralf Thanner                #
  47. #                                                                    #
  48. #         Location: $xxxxxxxx             Change: yyyyyyyy           #
  49. #                                                                    #
  50. #  LEFT BUTTON TO CORRECT               RIGHT BUTTON TO SAVE CHANGE  #
  51. #====================================================================#
  52.  
  53. Location  displays  the  address having been overwritten, Change gives
  54. the  value  it  has  received.   Pressing  the  left mouse button will
  55. restore  the  original  contents of the trashed location, pressing the
  56. right mouse button will leave the location as it is.
  57.  
  58. =============================== Author ===============================
  59. ======================================================================
  60.  
  61. MemGuard  III  was  written  by  Ralf  Thanner  using  the  Kuma  Seka
  62. assembler,  the  original MemWatch idea was suggested from MemWatch II
  63. which had some substancial disadvantages.  The executable MemGuard and
  64. the  documentation  file  (this file) are placed in the public domain.
  65. If  you  intend  to  use  this program commercially please contact the
  66. author first:
  67.  
  68.                              Ralf Thanner
  69.                            Ellerstrasse 83
  70.                          D-4000 Duesseldorf 1
  71.  
  72.                      Federal Republic of Germany
  73.  
  74.  
  75.            MemGuard III (C) Copyright 1990 by Ralf Thanner
  76.  
  77.           Special thanks go to Thorsten Hopf & Olaf Barthel!
  78.  
  79. VERSIONS:
  80. =========
  81.  
  82.     - MEMGUARD III
  83.  
  84.       Thought, that this was the final version...
  85.       No bug reports.
  86.  
  87.     - MEMGUARD III.a
  88.  
  89.       Because the  MEMGUARD level3 IRQ  part uses no message
  90.       ports ( would slow down everything ) i took 530(a6) as
  91.       my port. The bad thing is that 530(a6) is the vertical
  92.       blank  frequency and programs which check this pointer
  93.       had little problems to interpret the frequencey (PAL ^
  94.       NTSC) when my marks were set, therefore i took now the
  95.       debug data [ 70(a6) ] as my terminal.
  96.  
  97.       Added also a more userfriendly CLI-Interface.
  98.  
  99.       Shortened and improved the check routine:
  100.        - needs now less than 896 bytes of memory.
  101.        - takes only about 2-3 percentage of processing
  102.          time. (MEMWATCH II took about 50%)
  103.  
  104.